home *** CD-ROM | disk | FTP | other *** search
- /**
- *
- * This header file defines the information used for IBM PC I/O
- * and Lattice C.
- * Copyright (c) 1984, 1985 Larry Jordan Associates
- *
- **/
-
-
-
- /**
- ;----------------------------------------------------------|
- ; |
- ; EQUATES FOR COMM PORT AND MODEM CONTROL |
- ; |
- ;----------------------------------------------------------|
- **/
-
- /* ------------ HAYES Smartmodem controls ----------------- */
-
- #define MOATN "AT"
- #define MORESET "ATZ"
- #define MOANSWER "ATA"
- #define MONOANS "ATS0=0"
- #define MOAUTOAN "ATS0=1"
- #define MOSPKOFF "ATM0"
- #define MOECHOFF "ATE0"
- #define OFFHOOK "ATH1"
- #define MORESPAC 20000 /* modem response delay for buffer clear */
- #define MOCMDPAC 10000 /* command spacing for modem */
- #define WAITCD 50000 /* riduclous wait for carrier */
- #define WAITFORC 30 /* wait 30 seconds for carrier after connect */
-
-
- /* ------------ Greenleaf assignments ---------------------- */
-
- #define PORT1 0
- #define PORT2 1
- #define NONE 0
- #define EVEN 2
- #define ODD 1
-
- /**
- ;------ BIOS RS-232 IO Parameter Masks ------------------------------
- **/
-
- #define _300E71 0x05A /* PARMS: 300, EVEN, 7, 1 */
- #define _300N81 0x043 /* PARMS: 300, NONE, 8, 1 */
- #define _1200E71 0x09A /* PARMS: 1200, EVEN, 7, 1 */
- #define _1200N81 0x083 /* PARMS: 1200, NONE, 8, 1 */
- #define _2400E71 0x0BA /* PARMS: 2400, EVEN, 7, 1 */
- #define _2400N81 0x0A3 /* PARMS: 2400, NONE, 8, 1 */
- #define _9600E71 0x0FA /* PARMS: 9600, EVEN, 7, 1 (WOW!)*/
- #define _9600N81 0x0E3 /* PARMS: 9600, NONE, 8, 1 */
-
-
- #define P300E71 "300,E,7,1" /* PARMS: 300, EVEN, 7, 1 */
- #define P300N81 "300,N,8,1" /* PARMS: 300, NONE, 8, 1 */
- #define P600E71 "600,E,7,1" /* PARMS: 300, EVEN, 7, 1 */
- #define P600N81 "600,N,8,1" /* PARMS: 300, EVEN, 7, 1 */
- #define P1200E71 "1200,E,7,1" /* PARMS: 1200, EVEN, 7, 1 */
- #define P1200N81 "1200,N,8,1" /* PARMS: 1200, NONE, 8, 1 */
- #define P2400E71 "2400,E,7,1" /* PARMS: 2400, EVEN, 7, 1 */
- #define P2400N81 "2400,N,8,1" /* PARMS: 2400, NONE, 8, 1 */
- #define P4800E71 "4800,E,7,1" /* PARMS: 2400, EVEN, 7, 1 */
- #define P4800N81 "4800,N,8,1" /* PARMS: 2400, NONE, 8, 1 */
- #define P9600E71 "9600,E,7,1" /* PARMS: 9600, EVEN, 7, 1 (WOW!)*/
- #define P9600N81 "9600,N,8,1" /* PARMS: 9600, NONE, 8, 1 */
-
-
- /**
- ;----- TECHNICAL REF 8250 PORT ADDRESS (PAGE 2-125) -----------------
- **/
-
- /* COM1: port addresses */
-
- #define COM1BASE 0x03F8 /* UART 1 BASE ADDRESS */
- #define LSR1 0x03FD /* UART LINE STATUS REGISTER ADDRESS */
- #define LCR1 0x03FB /* UART LINE CONTROL REGISTER */
- #define MSR1 0x03FE /* UART MODEM STATUS (DTR,RTS) */
- #define MCR1 0x03FC /* UART MODEM CONTROL REGISTER (DTR,RTS) */
- #define IER1 0x03F9 /* UART INTERRUPT ENABLE REGISTER */
- #define IIR1 0x03FA /* UART INTERRUPT IDENTIFY REG */
-
- #define PORTCOM1 "COM1:"
- #define COM1 "COM1"
-
- /* COM2: port addresses */
-
- #define COM2BASE 0x02F8 /* UART 2 BASE ADDRESS */
- #define LSR2 0x02FD /* UART LINE STATUS REGISTER ADDRESS */
- #define LCR2 0x02FB /* UART LINE CONTROL REGISTER */
- #define MSR2 0x02FE /* UART MODEM STATUS (DTR,RTS) */
- #define MCR2 0x02FC /* UART MODEM CONTROL REGISTER (DTR,RTS) */
- #define IER2 0x02F9 /* UART INTERRUPT ENABLE REGISTER */
- #define IIR2 0x02FA /* UART INTERRUPT IDENTIFY REG */
-
- #define PORTCOM2 "COM2:"
- #define COM2 "COM2"
-
-
- /**
- ;------ MODEM CONTROL REGISTER MASKS (TECH REF 2-142) ----------------
- **/
-
- #define DTR_ON 0x1 /* TURN UART DATA TERMINAL SIGNAL ON */
- #define DTR_OFF 0x0 /* TURN UART DATA TERMINAL READY OFF */
- #define STS_ON 0x2 /* turn on UART Request to Send signal */
- #define IGNORECD 0x8 /* Turn on MCR Out 2 signal to ignore Carrier Detect */
- /* exist to allow talk to modem when no carrier */
- #define WATCHCD 0x3 /* Mask for MCR Out 2 signal to watch Carrier Detect */
- #define DTR_CD 0x9 /* Mask to check for DTR and CD before Out 2 turn on */
-
-
-
- /**
- ;------ LINE STATUS REGISTER MASKS (TECH REF PAGE 2-137) ----------------
- **/
-
- /* LSR BITS SET TO 1 WHEN TRUE */
-
- #define DATA_READY 0x1 /* BIT 0 IS SET WHEN A CHARACTER HAS */
- /* BEEN RECEIVED INTO RECV BUFFER REG */
- #define OVERRUN 0x2 /* BIT 1 IS SET ON OVERRUN ERROR */
- #define PARITY 0x4 /* BIT 2 IS SET ON PARITY ERROR */
- #define FRAME 0x8 /* BIT 3 SET ON FRAMING ERROR */
- #define BREAK 0x10 /* BIT 4 SET ON BREAK SIGNAL INTERRUPT */
-
- #define TS_EMPTY 0x40 /* TRANS BUFFER EMPTY STATUS FLAG */
- #define TX_EMPTY 0x20 /* TRANSMIT REG EMPTY -- ANOTHER CHAR CAN */
- /* NOW BE SENT */
-